package com.bwie.product.service;

import com.bwie.common.doamin.dto.BoughtProductDTO;
import com.bwie.common.doamin.dto.ProductDTO;
import com.bwie.common.doamin.vo.ProductVO;
import com.bwie.common.result.PageResult;

import javax.validation.Valid;

/**
 * @className: ProductService
 * @Description: TODO
 * @version: v1.８.0
 * @author: 刘洋朔
 * @date: 2025/9/9 14:22
 */
public interface ProductService {
    /**
     * 获取所有产品列表
     * @param productDTO
     * @return
     */
    PageResult<ProductVO> selAllProductList(ProductDTO productDTO);

    /**
     * 购买商品
     *
     * @param productId
     * @return
     */
    ProductVO echoProduct(Long productId);

    /**
     * 购买产品
     * @param boughtProductDTO
     */
    void boughtProducts(@Valid BoughtProductDTO boughtProductDTO);

    /**
     * 防抖
     */
    String boughtToken();
}
